#include "lolevel.h"
#include "platform.h"
#include "core.h"

static long *nrflag = (long*)0x60E8;

#include "../../../generic/capt_seq.c"

void __attribute__((naked,noinline)) sub_FFD2C9B8_my(long p)
{
  asm volatile (
              "STMFD   SP!, {R4-R6,LR}\n"
              "LDR     R3, =0x72BAC\n"
              "LDR     R5, =0x60E4\n"
              "SUB     SP, SP, #4\n"
              "LDR     R1, =0xFFFFFFFF\n"
              "STR     R0, [R5]\n"
              "LDR     R0, [R3]\n"
              "BL      sub_FFC0FB48\n"
              "LDR     R3, =0x9CFE0\n"
              "LDR     R0, [R3,#0x74]\n"
              "BL      sub_FFC8ABE4\n"
              "BL      sub_FFD2C938\n"
             
              "LDR     R3, =0x60EC\n"
              "LDR     R0, [R3]\n"
              "BL      sub_FFC8B090\n"
            "BL      wait_until_remote_button_is_released\n"
              "BL      capt_seq_hook_set_nr\n"
              "B       sub_FFD2C9F4\n"
  );
}

void __attribute__((naked,noinline)) sub_FFD297A4_my(long p)
{
  asm volatile (
              "STMFD   SP!, {R4,LR}\n"
              "LDR     R4, [R0,#0xC]\n"
              "BL      sub_FFD32564\n"
              "CMP     R0, #0\n"
              "BNE     loc_FFD297BC\n"
              "BL      sub_FFD32570\n"
    "loc_FFD297BC:\n"
              "MOV     R0, #0xC\n"
              "BL      sub_FFD32584\n"
              "TST     R0, #1\n"
              "MOV     R2, R4\n"
              "MOV     R0, R4\n"
              "BEQ     loc_FFD297E4\n"
              "MOV     R0, #1\n"
              "MOV     R1, R0\n"
              "LDMFD   SP!, {R4,LR}\n"
              "B       sub_FFD27D20\n"
    "loc_FFD297E4:\n"
              "BL      sub_FFD2B80C\n"
              "TST     R0, #1\n"
              "MOV     R2, R4\n"
              "MOV     R1, #1\n"
              "BEQ     loc_FFD29800\n"
              "LDMFD   SP!, {R4,LR}\n"
              "B       sub_FFD27D20\n"
    "loc_FFD29800:\n"
              "BL      sub_FFD67F90\n"
              "BL      sub_FFC14714\n"
              "LDR     R2, =0x9CF24\n"
              "ADD     R3, R4, R4,LSL#1\n"
              "STR     R0, [R2,R3,LSL#5]\n"
              "MOV     R0, R4\n"
              "BL      sub_FFD2D120\n"
              "BL      sub_FFD2BD10\n"
              "BL      sub_FFD2BCAC\n"
              "MOV     R0, R4\n"

              "BL      sub_FFD2C9B8_my\n"
              "BL      capt_seq_hook_raw_here\n"

             // "BL      sub_FFD483A4\n"

              "MOV     R2, R4\n"
              "MOV     R1, #1\n"
              "BL      sub_FFD27D20\n"
              "LDMFD   SP!, {R4,LR}\n"
              "B       sub_FFD2CBAC\n"
  );
}

void __attribute__((naked,noinline)) capt_seq_task()    //IDA task_CaptSeqTask
{
  asm volatile (
          "STMFD   SP!, {R4,LR}\n"
          "SUB     SP, SP, #4\n"
          "MOV     R4, SP\n"
          "B       loc_FFD29CE4\n"
    "loc_FFD29B9C:\n"
          "LDR     R2, [SP,#0xC-0xC]\n"
          "LDR     R3, [R2]\n"
          "MOV     R0, R2\n"
          "CMP     R3, #0x14\n"
          "LDRLS   PC, [PC,R3,LSL#2]\n"
          "B       loc_FFD29CB8\n"
          ".long loc_FFD29C08\n"
          ".long loc_FFD29C14\n"
          ".long loc_FFD29C1C\n"
          ".long loc_FFD29C2C\n"
          ".long loc_FFD29C24\n"
          ".long loc_FFD29C34\n"
          ".long loc_FFD29C3C\n"
          ".long loc_FFD29C48\n"
          ".long loc_FFD29C50\n"
          ".long loc_FFD29C5C\n"
          ".long loc_FFD29C64\n"
          ".long loc_FFD29C6C\n"
          ".long loc_FFD29C74\n"
          ".long loc_FFD29C7C\n"
          ".long loc_FFD29C84\n"
          ".long loc_FFD29C90\n"
          ".long loc_FFD29C98\n"
          ".long loc_FFD29CA0\n"
          ".long loc_FFD29CA8\n"
          ".long loc_FFD29CB0\n"
          ".long loc_FFD29CCC\n"
    "loc_FFD29C08:\n"
          "BL      sub_FFD2B47C\n"
          "BL      shooting_expo_param_override\n"   // +
        //  "BL	 handle_is_off\n"
          "BL      sub_FFD278D0\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C14:\n"
     			//"BL      sub_FFD45048\n"
          "BL      sub_FFD297A4_my\n"
					"B       loc_FFD29CC8\n"
    "loc_FFD29C1C:\n"
          "BL      sub_FFD2B7FC\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C24:\n"
          "BL      sub_FFD2A6F4\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C2C:\n" //shooting but. rel.
          "BL      sub_FFD2AB10\n"
       //   "BL	 handle_is_on\n"            //+
          "B       loc_FFD29CC8\n"
    "loc_FFD29C34:\n"
          "BL      sub_FFD2AB20\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C3C:\n"
          "BL      sub_FFD2B548\n"
          "BL      sub_FFD278D0\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C48:\n"
          "BL      sub_FFD298B0\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C50:\n"
          "BL      sub_FFD2B5B0\n"
          "BL      sub_FFD278D0\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C5C:\n"
          "BL      sub_FFD2AB10\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C64:\n"
          "BL      sub_FFD2BD50\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C6C:\n"
          "BL      sub_FFD2C06C\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C74:\n"
          "BL      sub_FFD2C0F4\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C7C:\n"
          "BL      sub_FFD2C1BC\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C84:\n"
          "MOV     R0, #0\n"
          "BL      sub_FFD2C274\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C90:\n"
          "BL      sub_FFD2C3CC\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29C98:\n"
          "BL      sub_FFD2C464\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29CA0:\n"
          "BL      sub_FFD2C520\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29CA8:\n"
          "BL      sub_FFD2C608\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29CB0:\n"
          "BL      sub_FFD2C65C\n"
          "B       loc_FFD29CC8\n"
    "loc_FFD29CB8:\n"
          "MOV     R1, #0x330\n"
          "LDR     R0, =0xFFD29530\n"
          "ADD     R1, R1, #1\n"
          "BL      sub_FFC03AEC\n"
    "loc_FFD29CC8:\n"
          "LDR     R2, [SP,#0xC-0xC]\n"
    "loc_FFD29CCC:\n"
          "LDR     R3, =0x72B34\n"
          "LDR     R1, [R2,#4]\n"
          "LDR     R0, [R3]\n"
          "BL      sub_FFC0F9AC\n"
          "LDR     R0, [SP,#0xC-0xC]\n"
          "BL      sub_FFD295AC\n"
    "loc_FFD29CE4:\n"
          "LDR     R3, =0x72B38\n"
          "MOV     R1, R4\n"
          "LDR     R0, [R3]\n"
          "MOV     R2, #0\n"
          "BL      sub_FFC100C4\n"
          "TST     R0, #1\n"
          "BEQ     loc_FFD29B9C\n"
          "MOV     R1, #0x28C\n"
          "LDR     R0, =0xFFD2952C\n"
          "ADD     R1, R1, #3\n"
          "BL      sub_FFC03AEC\n"
          "BL      _ExitTask\n"
          "BL      sub_FFC11620\n"
          "ADD     SP, SP, #4\n"
          "LDMFD   SP!, {R4,PC}\n"
  );
}

void __attribute__((naked,noinline)) exp_drv_task(){
 asm volatile(
"                STMFD   SP!, {R4-R8,LR}\n"
"                SUB     SP, SP, #0x14\n"
"                MOV     R7, SP\n"
"                B       loc_FFCDEDEC\n"
"loc_FFCDEA08:\n"
"                CMP     R2, #0x1E\n"
"                BNE     loc_FFCDEA20\n"
"                LDR     R0, [R12,#0x34]\n"
"                MOV     LR, PC\n"
"                LDR     PC, [R12,#0x30]\n"
"                B       loc_FFCDEA80\n"
"loc_FFCDEA20:\n"
"                CMP     R2, #0x19\n"
"                BNE     loc_FFCDEA34\n"
"                MOV     R0, R12\n"
"                BL      sub_FFCDE928\n"
"                B       loc_FFCDEA70\n"
"loc_FFCDEA34:\n"
"                CMP     R2, #0x1A\n"
"                BNE     loc_FFCDEA48\n"
"                MOV     R0, R12\n"
"                BL      sub_FFCDE964\n"
"                B       loc_FFCDEA70\n"
"loc_FFCDEA48:\n"
"                SUB     R3, R2, #0x1B\n"
"                CMP     R3, #1\n"
"                BHI     loc_FFCDEA60\n"
"                MOV     R0, R12\n"
"                BL      sub_FFCDE9A0\n"
"                B       loc_FFCDEA70\n"
"loc_FFCDEA60:\n"
"                CMP     R2, #0x1D\n"
"                BNE     loc_FFCDEA8C\n"
"                BL      sub_FFC961C8\n" //Shutter.c:372
"                BL      sub_FFC97FB8\n" //ImgGain.c:436
"loc_FFCDEA70:\n"
"                LDR     R3, [SP]\n"
"                LDR     R0, [R3,#0x34]\n"
"                MOV     LR, PC\n"
"                LDR     PC, [R3,#0x30]\n"
"loc_FFCDEA80:\n"
"                LDR     R0, [SP]\n"
"                BL      sub_FFCDC724\n"
"                B       loc_FFCDEDEC\n"
"loc_FFCDEA8C:\n"
"                CMP     R2, #0xD\n"
"                MOV     R8, #1\n"
"                BNE     loc_FFCDEAFC\n"
"                LDR     R1, [R12,#0x24]\n"
"                ADD     R1, R1, R1,LSL#1\n"
"                ADD     R1, R12, R1,LSL#1\n"
"                ADD     R6, SP, #0xC\n"
"                SUB     R1, R1, #2\n"
"                MOV     R2, #6\n"
"                MOV     R0, R6\n"
"                BL      _memcpy\n"
"                LDR     R0, [SP]\n"
"                BL      sub_FFCDDBB8\n"
"                LDR     R3, [SP]\n"
"                LDR     R1, [R3,#0x24]\n"
"                LDR     R2, [R3,#0x34]\n"
"                ADD     R0, R3, #4\n"
"                MOV     LR, PC\n"
"                LDR     PC, [R3,#0x30]\n"
"                LDR     R0, [SP]\n"
"                BL      sub_FFCDDD3C\n"
"                LDR     R3, [SP]\n"
"                ADD     R0, R3, #4\n"
"                LDR     R1, [R3,#0x24]\n"
"                LDR     R2, [R3,#0x3C]\n"
"                MOV     LR, PC\n"
"                LDR     PC, [R3,#0x38]\n"
"                B       loc_FFCDED9C\n"
"loc_FFCDEAFC:\n"
"                SUB     R3, R2, #0xE\n"
"                CMP     R3, #1\n"
"                BHI     loc_FFCDEBB8\n"
"                ADD     R6, SP, #0xC\n"
"                ADD     R5, SP, #4\n"
"                MOV     R0, R12\n"
"                MOV     R1, R6\n"
"                MOV     R2, R5\n"
"                BL      sub_FFCDDDB8\n"
"                MOV     R4, R0\n"
"                CMP     R4, #5\n"
"                CMPNE   R4, #1\n"
"                BNE     loc_FFCDEB50\n"
"                LDR     R12, [SP]\n"
"                MOV     R0, R5\n"
"                LDR     R1, [R12,#0x40]\n"
"                MOV     R2, R4\n"
"                LDR     R3, [R12,#0x50]\n"
"                MOV     LR, PC\n"
"                LDR     PC, [R12,#0x4C]\n"
"                B       loc_FFCDEB88\n"
"loc_FFCDEB50:\n"
"                CMP     R4, #6\n"
"                CMPNE   R4, #2\n"
"                BNE     loc_FFCDEB98\n"
"                LDR     R12, [SP]\n"
"                MOV     R0, R5\n"
"                MOV     R1, R8\n"
"                MOV     R2, R4\n"
"                LDR     R3, [R12,#0x34]\n"
"                MOV     LR, PC\n"
"                LDR     PC, [R12,#0x30]\n"
"                MOV     R1, R6\n"
"                LDR     R0, [SP]\n"
"                MOV     R2, R5\n"
"                BL      sub_FFCDE764\n"
"loc_FFCDEB88:\n"
"                MOV     R1, R4\n"
"                LDR     R0, [SP]\n"
"                BL      sub_FFCDE908\n"
"                B       loc_FFCDED9C\n"
"loc_FFCDEB98:\n"
"                LDR     R12, [SP]\n"
"                MOV     R2, R4\n"
"                ADD     R0, R12, #4\n"
"                LDR     R1, [R12,#0x40]\n"
"                LDR     R3, [R12,#0x50]\n"
"                MOV     LR, PC\n"
"                LDR     PC, [R12,#0x4C]\n"
"                B       loc_FFCDED9C\n"
"loc_FFCDEBB8:\n"
"                SUB     R3, R2, #0x17\n"
"                BHI     loc_FFCDEC0C\n"
"                LDR     R1, [R12,#0x24]\n"
"                ADD     R1, R1, R1,LSL#1\n"
"                ADD     R1, R12, R1,LSL#1\n"
"                ADD     R6, SP, #0xC\n"
"                SUB     R1, R1, #2\n"
"                MOV     R2, #6\n"
"                MOV     R0, R6\n"
"                BL      _memcpy\n"
"                LDR     R0, [SP]\n"
"                BL      sub_FFCDD6EC\n"
"                LDR     R3, [SP]\n"
"                ADD     R0, R3, #4\n"
"                LDR     R1, [R3,#0x24]\n"
"                LDR     R2, [R3,#0x34]\n"
"                MOV     LR, PC\n"
"                LDR     PC, [R3,#0x4C]\n"
"                LDR     R0, [SP]\n"
"                BL      sub_FFCDD8BC\n"
"                B       loc_FFCDED9C\n"
"loc_FFCDEC0C:\n"
"                ADD     R6, SP, #0xC\n"
"                ADD     R1, R12, #4\n"
"                MOV     R2, #6\n"
"                MOV     R0, R6\n"
"                BL      _memcpy\n"
"                LDR     R12, [SP]\n"
"                LDR     R3, [R12]\n"
"                MOV     R2, R12\n"
"                CMP     R3, #0x18\n"
"                LDRLS   PC, [PC,R3,LSL#2]\n"
"                B       loc_FFCDED88\n"
"                .long loc_FFCDEC9C\n"
"                .long loc_FFCDECA8\n"
"                .long loc_FFCDECB4\n"
"                .long loc_FFCDECB4\n"
"                .long loc_FFCDEC9C\n"
"                .long loc_FFCDECA8\n"
"                .long loc_FFCDECB4\n"
"                .long loc_FFCDECB4\n"
"                .long loc_FFCDECD8\n"
"                .long loc_FFCDECD8\n"
"                .long loc_FFCDED5C\n"
"                .long loc_FFCDED68\n"
"                .long loc_FFCDED78\n"
"                .long loc_FFCDED88\n"
"                .long loc_FFCDED88\n"
"                .long loc_FFCDED88\n"
"                .long loc_FFCDECC0\n"
"                .long loc_FFCDECCC\n"
"                .long loc_FFCDECE8\n"
"                .long loc_FFCDECF4\n"
"                .long loc_FFCDED1C\n"
"                .long loc_FFCDED44\n"
"                .long loc_FFCDED44\n"
"                .long loc_FFCDED88\n"
"                .long loc_FFCDED50\n"
"loc_FFCDEC9C:\n"
"                MOV     R0, R2\n"
"                BL      sub_FFCDCC8C\n"
"                B       loc_FFCDED84\n"
"loc_FFCDECA8:\n"
"                MOV     R0, R2\n"
"                BL      sub_FFCDCDC8\n"
"                B       loc_FFCDED84\n"
"loc_FFCDECB4:\n"
"                MOV     R0, R2\n"
"                BL      sub_FFCDCEF8\n"
"                B       loc_FFCDED84\n"
"loc_FFCDECC0:\n"
"                MOV     R0, R2\n"
"                BL      sub_FFCDD0CC\n"
"                B       loc_FFCDED84\n"
"loc_FFCDECCC:\n"
"                MOV     R0, R2\n"
"                BL      sub_FFCDD1D4\n"
"                B       loc_FFCDED84\n"
"loc_FFCDECD8:\n"
"                MOV     R0, R2\n"
//"                BL      sub_FFCF29DC\n" // ->
"                BL      sub_FFCDD298_my\n" // ->
"                MOV     R8, #0\n"
"                B       loc_FFCDED84\n"
"loc_FFCDECE8:\n"
"                MOV     R0, R2\n"
"                BL      sub_FFCDD358\n"
"                B       loc_FFCDED84\n"
"loc_FFCDECF4:\n"
"                MOV     R0, R2\n"
"                LDRH    R2, [R2,#4]\n"
"                LDR     R3, =0x4E220\n"
"                STRH    R2, [SP,#0xC]\n"
"                LDRH    R1, [R3,#4]\n"
"                STRH    R1, [SP,#0x10]\n"
"                LDRH    R3, [R3,#2]\n"
"                STRH    R3, [SP,#0xE]\n"
"                BL      sub_FFCDD4E0\n"
"                B       loc_FFCDED84\n"
"loc_FFCDED1C:\n"
"                LDR     R3, =0x4E220\n"
"                LDRH    R1, [R3]\n"
"                STRH    R1, [SP,#0xC]\n"
"                MOV     R0, R2\n"
"                LDRH    R2, [R2,#6]\n"
"                STRH    R2, [SP,#0xE]\n"
"                LDRH    R3, [R3,#4]\n"
"                STRH    R3, [SP,#0x10]\n"
"                BL      sub_FFCDD574\n"
"                B       loc_FFCDED84\n"
"loc_FFCDED44:\n"
"                MOV     R0, R2\n"
"                BL      sub_FFCDD5F4\n"
"                B       loc_FFCDED84\n"
"loc_FFCDED50:\n"
"                MOV     R0, R2\n"
"                BL      sub_FFCDD94C\n"
"                B       loc_FFCDED84\n"
"loc_FFCDED5C:\n"
"                MOV     R0, R2\n"
"                BL      sub_FFCDDA20\n"
"                B       loc_FFCDED84\n"
"loc_FFCDED68:\n"
"                MOV     R0, R2\n"
"                MOV     R1, #0\n"
"                BL      sub_FFCDDB0C\n"
"                B       loc_FFCDED84\n"
"loc_FFCDED78:\n"
"                MOV     R0, R2\n"
"                MOV     R1, #1\n"
"                BL      sub_FFCDDB0C\n"
"loc_FFCDED84:\n"
"                LDR     R12, [SP]\n"
"loc_FFCDED88:\n"
"                ADD     R0, R12, #4\n"
"                LDR     R1, [R12,#0x24]\n"
"                LDR     R2, [R12,#0x34]\n"
"                MOV     LR, PC\n"
"                LDR     PC, [R12,#0x30]\n"
"loc_FFCDED9C:\n"
"                CMP     R8, #1\n"
"                BNE     loc_FFCDEDC4\n"
"                LDR     R1, [SP]\n"
"                LDR     R3, [R1,#0x24]\n"
"                ADD     R3, R3, R3,LSL#1\n"
"                ADD     R1, R1, R3,LSL#1\n"
"                MOV     R0, R6\n"
"                SUB     R1, R1, #2\n"
"                BL      sub_FFCDCAF4\n"
"                B       loc_FFCDEDE4\n"
"loc_FFCDEDC4:\n"
"                MOV     R0, #1\n"
"                MOV     R1, R0\n"
"                MOV     R2, R0\n"
"                BL      sub_FFCDCA98\n"
"                MOV     R0, #1\n"
"                MOV     R1, R0\n"
"                MOV     R2, R0\n"
"                BL      sub_FFCDCBB4\n"
"loc_FFCDEDE4:\n"
"                LDR     R0, [SP]\n"
"                BL      sub_FFCDC724\n"
"loc_FFCDEDEC:\n"
"                LDR     R3, =0x4E218\n"
"                MOV     R2, #0\n"
"                LDR     R0, [R3]\n"
"                MOV     R1, R7\n"
"                BL      sub_FFC100C4\n" //ReceiveMessageQueue
"                LDR     R12, [SP]\n"
"                LDR     R2, [R12]\n"
"                CMP     R2, #0x20\n"
"                BNE     loc_FFCDEA08\n"
"                MOV     R0, R12\n"
"                BL      sub_FFCDC724\n"
"                LDR     R3, =0x4E214\n"
"                MOV     R1, #1\n"
"                LDR     R0, [R3]\n"
"                BL      sub_FFC0F9AC\n"// SetEventFlag
"                BL      _ExitTask\n"
"                ADD     SP, SP, #0x14\n"
"                LDMFD   SP!, {R4-R8,PC}\n"
 );
}
void __attribute__((naked,noinline)) sub_FFCDD298_my(){
 asm volatile(
"                STMFD   SP!, {R4,R5,LR}\n"
"                LDR     R3, =0x4E214\n"
"                MOV     R4, R0\n"
"                MOV     R1, #0xE\n"
"                LDR     R0, [R3]\n"
"                BL      sub_FFC0FB48\n" //ClearEventFlag
"                MOV     R1, #0\n"
"                LDRSH   R0, [R4,#4]\n"
"                BL      sub_FFCDC800\n"
"                MOV     R5, R0\n"
"                LDRSH   R0, [R4,#6]\n"
"                BL      sub_FFCDC930\n"
"                LDRSH   R0, [R4,#8]\n"
"                BL      sub_FFCDC9CC\n"
"                LDR     R3, [R4]\n"
"                CMP     R3, #9\n"
"                MOVEQ   R5, #0\n"
"                CMP     R5, #1\n"
"                LDR     R1, =0xFFCDC758\n"
"                MOV     R2, #2\n"
"                BNE     loc_FFCDD304\n"
"                LDRSH   R0, [R4,#4]\n"
"                BL      sub_FFE52F6C\n" //IrisController.c:178
"                LDR     R2, =0x4E240\n"
"                MOV     R3, #0\n"
"                STR     R3, [R2]\n"
"                B       loc_FFCDD308\n"
"loc_FFCDD304:\n"
"                BL      sub_FFCDCA68\n"
"loc_FFCDD308:\n"
"                STRH    R0, [R4,#4]\n"
"                LDRSH   R0, [R4,#6]\n"
"                BL      sub_FFC95E50_my\n" //Shutter.c:276 ->
"                LDRSH   R0, [R4,#8]\n"
"                MOV     R1, #1\n"
"                BL      sub_FFC97B78\n" //ImgGain.c:292
"                MOV     R1, #0\n"
"                ADD     R0, R4, #8\n"
"                BL      sub_FFC97C38\n" //ImgGain.c:316
"                CMP     R5, #1\n"
"                MOV     R1, #2\n"
"                MOV     R2, #0\n"
"                LDMNEFD SP!, {R4,R5,PC}\n"
"                LDR     R3, =0x4E214\n"
"                LDR     R0, [R3]\n"
"                LDMFD   SP!, {R4,R5,LR}\n"
"                B       sub_FFC0F99C\n"
 );
}
void __attribute__((naked,noinline)) sub_FFC95E50_my() { // __Shutter_c__276
 asm volatile(
"                STMFD   SP!, {R4,LR}\n"
"                LDR     R3, =0x52FC\n"
"                LDR     R2, [R3]\n"
"                MOV     R1, #0x114\n"
"                MOV     R3, R0,LSL#16\n"
"                CMP     R2, #1\n"
"                ADD     R1, R1, #1\n"
"                LDR     R0, =0xFFC958CC\n" // "Shutter.c"
"                MOV     R4, R3,ASR#16\n"
"                BEQ     loc_FFC95E7C\n"
"                BL      sub_FFC03AEC\n" // DebugAssert
"loc_FFC95E7C:\n"
"                MOV     R1, #0x118\n"
"                CMN     R4, #0xC00\n"
"                LDR     R3, =0x3474E\n"
"                LDR     R0, =0xFFC958CC\n" // "Shutter.c"
"                ADD     R1, R1, #3\n"
"                LDREQSH R4, [R3]\n"
"                LDRNE   R3, =0x3474E\n"
"                CMN     R4, #0xC00\n"
"                STRH    R4, [R3]\n"
"                BNE     loc_FFC95EA8\n"
"                BL      sub_FFC03AEC\n" // DebugAssert
"loc_FFC95EA8:\n"
"                MOV     R0, R4\n"
//"                BL      sub_FFC9F288\n"
"                BL      apex2us\n" // + 
"                MOV     R4, R0\n"
"                BL      sub_FFCBBA64\n"
"                MOV     R0, R4\n"
"                BL      sub_FFC954C0\n"
"                TST     R0, #1\n"
"                MOV     R1, #0x120\n"
"                LDR     R0, =0xFFC958CC\n" // "Shutter.c"
"                LDMEQFD SP!, {R4,PC}\n"
"                LDMFD   SP!, {R4,LR}\n"
"                B       sub_FFC03AEC\n" // DebugAssert
 );
}

